package com.uls.questionnaire.mapper;

import java.util.List;
import com.uls.questionnaire.domain.QuestionnaireStatistics;
import org.apache.ibatis.annotations.Param;

/**
 * 问卷结果统计Mapper接口
 * 
 * @author zxh
 * @date 2024-11-23
 */
public interface QuestionnaireStatisticsMapper 
{


    /**
     * 查询问卷结果统计
     * 
     * @param id 问卷结果统计主键
     * @return 问卷结果统计
     */
    public QuestionnaireStatistics selectQuestionnaireStatisticsById(Long id);

    /**
     * 查询问卷结果统计列表
     * 
     * @param questionnaireStatistics 问卷结果统计
     * @return 问卷结果统计集合
     */
    public List<QuestionnaireStatistics> selectQuestionnaireStatisticsList(QuestionnaireStatistics questionnaireStatistics,@Param("limit") Integer limit);

    /**
     * 新增问卷结果统计
     * 
     * @param questionnaireStatistics 问卷结果统计
     * @return 结果
     */
    public int insertQuestionnaireStatistics(QuestionnaireStatistics questionnaireStatistics);

    /**
     * 修改问卷结果统计
     * 
     * @param questionnaireStatistics 问卷结果统计
     * @return 结果
     */
    public int updateQuestionnaireStatistics(QuestionnaireStatistics questionnaireStatistics);

    /**
     * 删除问卷结果统计
     * 
     * @param id 问卷结果统计主键
     * @return 结果
     */
    public int deleteQuestionnaireStatisticsById(Long id);

    /**
     * 批量删除问卷结果统计
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteQuestionnaireStatisticsByIds(Long[] ids);





    int insertStatistics(QuestionnaireStatistics statistics);

    // 按问卷ID查询统计结果
    List<QuestionnaireStatistics> findByQuestionnaireId(@Param("questionnaireId") Long questionnaireId);

    // 清空指定问卷的统计记录（更新统计时用）
    int deleteByQuestionnaireId(@Param("questionnaireId") Long questionnaireId);


    void insertTotalStatistics();

    public List<QuestionnaireStatistics> getStatisticsById(Long questionnaireId);
}
